package com.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.dto.FreeRoomDTO;
import com.pojo.Room;
import com.vo.RoomVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface RoomMapper {


    /**
     * 添加会议室
     *
     * @param room 会议室信息
     * @return
     */
	int addRoom(Room room);

    /**
     * 根据会议室id更新
     *
     * @param room 会议室信息
     * @return
     */
	int updateRoomByRid(Room room);

    /**
     * 根据会议室id删除会议室
     *
     * @param id 会议室id
     * @return
     */
    int deleteRoomByRid(Integer id);

    /**
     * 根据会议室id获取会议室信息
     *
     * @param id 会议室id
     * @return 会议室信息
     */
    Room getRoomByRid(Integer id);

    /**
     * 根据条件获取会议室列表
     *
     * @param
     * @return 会议室列表
     */
    List<Room> getRoomList(@Param("roomVO") RoomVO roomVO,
                           @Param("pageSize") int pageSize);

    /**
     * 根据条件获取会议室数量
     *
     * @param
     * @return 会议室数量
     */
    int getRoomCount(@Param("roomVO") RoomVO roomVO);

    List<FreeRoomDTO> getFreeRoom(Map map);

    int getFreeRoomCount(Date useDate);
}